$(document).ready(function() {
    
    $("#formcadastro").validate({
        onfocusout: function (element) {
            $(element).valid();
        },
        errorPlacement: function(error, element) 
        {
            element.attr('title', error.text()); 
            $(".error").tooltip({   
                position: {
                    my: "center bottom-10",
                    at: "right top",
                    using: function(position, feedback) {
                        $(this).css(position);
                        $("<div>").addClass("arrow").addClass(feedback.vertical).addClass(feedback.horizontal).appendTo(this);
                    }
                },
                tooltipClass: "ttError"
            }); 
        }, 
        rules: {
            senha: { required: true, minlength: 6 },
            senharep: { required: true, minlength: 6 },// , equalTo: "#senha"
        },
    });
    
    $.validator.addMethod("cpf", function(value, element) { var cpf = value; cpf = cpf.replace(/[^\d]+/g,''); if(cpf == '' || cpf.length != 11){ return true; } if(cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" ||  cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){ return false; } add = 0; for(i=0; i < 9; i ++){ add += parseInt(cpf.charAt(i)) * (10 - i); } rev = 11 - (add % 11); if(rev == 10 || rev == 11) rev = 0; if(rev != parseInt(cpf.charAt(9))) return false; add = 0; for(i = 0; i < 10; i ++){ add += parseInt(cpf.charAt(i)) * (11 - i); } rev = 11 - (add % 11); if(rev == 10 || rev == 11){ rev = 0; } if(rev != parseInt(cpf.charAt(10))){ return false; } return true; }, "CPF inválido");
    
    $.validator.addMethod("email", function(value, element) {  if(verEmail($('#email').val(),'email')) return true; else return false; }, "E-mail já utilizado");
    
    $.validator.addMethod("usuario", function(value, element) {  if(verUsuario($('#usuario').val(),'usuario')) return true; else return false; }, "Usuário já utilizado");
    
    $('#cpf').blur(function() { verCPF($('#cpf').val(),'cpf'); });
    //$('#email').blur(function() { verEmail($('#email').val(),'email'); });
    //$('#usuario').blur(function() { verUsuario($('#usuario').val(),'usuario'); });
});

function verCPF(cpf,el){
    if(cpf.length > 0){ 
        $.post(URLBASE+'/login/vercpf/',{ cpf:cpf },function(data) {
            if(data.ok){ alert(data.msg); $('#'+el).focus(); return false; }
            else { $.validator.messages.nameId = "Msg 1"; return true; }
        }, 'json');
    }
}

function verEmail(email,el){
    if(email.length > 0){ 
        $.post(URLBASE+'/login/veremail/',{ email:email },function(data) {
            if(data.ok){ alert(data.msg); $('#'+el).focus(); return false; }
            else { return true;  }
        }, 'json');
    }
}

function verUsuario(usuario,el){
    if(usuario.length > 0){ 
        $.post(URLBASE+'/login/verusuario/',{ usuario:usuario },function(data) {
            if(data.ok){ alert(data.msg); $('#'+el).focus(); return false; }
            else { return true;  }
        }, 'json');
    }
}